﻿using BCDto.Sim.Admin.AdminSpecificPermissionRecord;
using System.Collections.Generic;

namespace BCService.Sim.Admin.AdminSpecificPermissionRecordService
{
    /// <summary>
    /// 管理员特殊权限记录
    /// </summary>
    public interface IAdminSpecificPermissionRecordService
    {
        /// <summary>
        /// 检查权限是否存在
        /// </summary>
        /// <param name="adminId">管理员Id</param>
        /// <param name="extensionPermissionKey">特殊权限Key</param>
        /// <returns></returns>
        bool CheckExists(long adminId, string extensionPermissionKey);
        /// <summary>
        /// 添加管理员特殊权限
        /// </summary>
        /// <param name="adminSpecificPermissionRecordRequestDto">管理员特殊权限记录请求信息</param>
        /// <returns></returns>
        AdminSpecificPermissionRecordDto Add(AdminSpecificPermissionRecordRequestDto adminSpecificPermissionRecordRequestDto);
        /// <summary>
        /// 删除管理员特殊权限记录
        /// </summary>
        /// <param name="adminId">管理员Id</param>
        /// <param name="extensionPermissionKey">特殊权限Key</param>
        /// <returns></returns>
        void Delete(long adminId,string extensionPermissionKey);
        /// <summary>
        /// 获取管理员特殊权限记录
        /// </summary>
        /// <param name="adminId">管理员Id</param>
        /// <returns></returns>
        IEnumerable<AdminSpecificPermissionRecordDto> Query(long adminId);
    }
}
